package com.example.yyjc.service;

import com.example.yyjc.domain.countryanalyze.CountryAnalysisReport;
import com.example.yyjc.domain.industryanalyze.IndustryAnalysisReport;
import com.example.yyjc.domain.selectionanalyze.SelectionAnalysisReport;

import java.util.List;

/**
 * @ClassName ReportService
 * @Description TODO
 * @Author lvyongwei
 * @Date 2020-12-16 14:07
 **/
public interface ReportService {

    /**
     * 添加国家分析实验报告
     * @param countryAnalysisReport
     * @return
     */
    public boolean insertCountryAnalysisReport(CountryAnalysisReport countryAnalysisReport);

    /**
     * 用户查看自己实验报告
     * @param userId
     * @param data
     * @param userName
     * @return
     */
    public List<CountryAnalysisReport> getCountryAnalysisReports(Integer userId,String data,String userName);

    /**
     * 根据实验报告id查询实验报告
     * @param countryAnalysisId
     * @return
     */
    public CountryAnalysisReport getCountryAnalysisReport(Long countryAnalysisId);

    /**
     * 根据实验报告id删除实验报告
     * @param countryAnalysisId
     * @return
     */
    public boolean deleteCountryAnalysisReport(Long countryAnalysisId);

    /**
     * 用户提交实验报告
     * @param industryAnalysisReport
     * @return
     */
    public boolean insertIndustryAnalysis(IndustryAnalysisReport industryAnalysisReport);

    /**
     * 用户查看自己的实验报告
     * @param userId
     * @param data
     * @return
     */
    public List<IndustryAnalysisReport> getIndustryAnalysisReports(Integer userId,String data,String userName);

    /**
     * 根据实验报告id删除实验报告
     * @param industryAnalysisId
     * @return
     */
    public boolean deleteIndustryAnalysisReport(Long industryAnalysisId);

    /**
     * 添加选品分析实验报告
     * @param selectionAnalysisReport
     * @return
     */
    public boolean insertSelectionAnalysisReport(SelectionAnalysisReport selectionAnalysisReport);

    /**
     * 用户查看自己选品分析实验报告
     * @param userId
     * @return
     */
    public List<SelectionAnalysisReport> getSelectionAnalysisReports(Integer userId,String data,String userName);

    /**
     * 删除选品分析实验报告
     * @param selectionAnalysisId
     * @return
     */
    public boolean deleteSelectionAnalysisReport(Long selectionAnalysisId);
}
